<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>原型方法与对象方法的优先级</title>
</head>
<body>
    
</body>
<script>
    /*
        原型方法与对象方法的优先级  
            原型相当于是长辈，但我们调用一个方法 对象中没有这个方法 但是原型有，不会报错
                当调用一个方法 原型 和 对象中都没有这个方法  那么就会报错
                    当调用一个方法 原型和对象都有这个方法  那么系统会优先执行对象身上的方法
    */
    let obj = {
        show(){
            console.log('对象中的方法')
        }
    }
    console.log(obj)
    // 我们可以仿问原型
    console.dir(obj.__proto__)  //可以访问原型
    // 向原型中添加方法
    obj.__proto__.show = ()=>{
        console.log('原型中的方法')
    }
    obj.__proto__.show()  //原型中的方法
    obj.show()  //对象中的方法

    // 可见 我们是可以访问原型 并且也是可以向原型中添加属性和方法的
    // 当原型和对象中都有同一个方法名的方法时  会优先执行对象中的方法
</script>
</html>